﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.Common;
using Sinacor.Infra.UI.Common;
using Sinacor.UI.Bovespa.Ordens;
using System.ComponentModel;
using Sinacor.UI.Bovespa.Ordens.Communication.Bovespa.Ordens;

namespace Sinacor.UI.Bovespa.Ordens.Communication.Translator
{
    public class TranslatorOrdemdigitacaoResponse :
       BaseTranslator< Model.OrdemDigitacao,
        Communication.Bovespa.Ordens.OrdemDigitacao.OrdemDigitacaoResponse,
        ModelCollection<Model.OrdemDigitacao>,
          List<Communication.Bovespa.Ordens.OrdemDigitacao.OrdemDigitacaoResponse>>
    {

        public override Model.OrdemDigitacao Translate(Communication.Bovespa.Ordens.OrdemDigitacao.OrdemDigitacaoResponse from)
        {
            Model.OrdemDigitacao to = new Model.OrdemDigitacao();
            to.ApelidoCliente = from.ApelidoCliente;
            to.CodigoAgenteCustodia = from.CodigoAgenteCustodia;
            to.CodigoCarteira = from.CodigoCarteira;
            to.CodigoCliente = from.CodigoCliente;
            to.CodigoClienteCustodia = from.CodigoClienteCustodia;
            to.DataOrdem = from.DataMovimento;
            to.DigitoClienteCustodiaDigitacao = from.DigitoClienteCustodia;
            to.DigitoVerificadorCliente = from.DigitoVerificadorCliente;
            to.IndicadorNaoLiquidacao = from.IndicadorNaoLiquidacao;
            to.IndicadorSistemaExterno = from.IndicadorSistemaExterno;
            to.NumeroOrdem = from.NumeroOrdem;
            to.NumeroOrdemSubSequencia = from.NumeroOrdemSubSequencia;
            to.NumeroSequenciaDigitacao = from.NumeroSequenciaDigitacao;
            to.PercentualAcrescimo = from.PercentualAcrescimo;
            to.PercentualDistribuido = from.PercentualDistribuido;
            to.PrecoInformado = from.PrecoInformado;
            to.QuantidadeDestinadaCliente = from.QuantidadeDestinadaCliente;
            to.SituacaoCliente = from.SituacaoCliente;
            TranslatorTipoLiquidacaoDistribuicao tipoLiquidacaoDistribuicao = new TranslatorTipoLiquidacaoDistribuicao();
            Model.Enum.TipoLiquidacaoDistribuicao? tipoLiquidaEnum = new  Model.Enum.TipoLiquidacaoDistribuicao();
            tipoLiquidacaoDistribuicao.TranslateEnum(from.TipoLiquidacao, out tipoLiquidaEnum);
            to.TipoLiquidacao = tipoLiquidaEnum;
            to.ValorDolar = from.ValorDolar;
            return to;
        }
    }
}
